姚同学的语料库语言学进阶之路
最近,我们收到来自姚同学的经验分享。姚同学是北京某高校外国语学院的一名研究生,导师的方向是语料库语言学。姚同学从本科开始就对语料库语言学产生了浓厚的研究兴趣,在半自学半指导下完成了一项基于语料库的学术英语研究,也因此高分收获了一篇课程论文和毕设论文。姚同学很庆幸自己能够通过保研进入导师的团队,因为导师正是这一领域的资深学者,发表过几十篇核心论文,而她一开始也是通过这些论文了解到这位和自己研究兴趣相吻合的老教授的。
和导师双选结束后,姚同学便开始在开学前的暑假期间参与导师的研究项目。虽然已经有了一定研究基础,但是她在接触到课题组的工作后才发现,自己所掌握的语料库技术在国家级项目语料所要求的质量与数量面前显得捉襟见肘。例如,处理动辄千万级的文本,有时即使只做一点轻微的改动,就可能要花费掉一整天时间,而且要是一不小心出了错的话,完成时间就要加倍。有时候,姚同学要根据师姐的要求对语料数据进行特殊的预处理,她翻遍全网也找不到合适的软件工具,为了按时完成任务,姚同学不得不牺牲掉阅读感兴趣的书籍文献的时间,投入到大量重复枯燥的手动工作中去,这加深了她的沮丧情绪。“虽然那会儿还没有正式开学,但我已经被手里的项目搞得疲惫不堪了,甚至开始怀疑自己根本不是做研究的料儿,白白浪费导师一个名额。”她尝试过向师姐求助,但是师姐自己也是这样过来的,所以除了收到安慰鼓励之外,姚同学的问题还是没有解决。
姚同学表示有很多刚踏入研究生涯的学生都面临这些困境。直到后来她才关注到,其实早就有学者开始尝试利用编程技术打破僵局,并以简单易懂的方式普及给广大的语言研究者。上海外国语大学语料库研究院的雷蕾教授便是此类学者的代表。雷蕾教授在一篇自述中提到,自己作为一个研究语言的纯文科生,在向语料库语言学进军的过程中,经历了从完全依赖语料库软件逐步实现以编程为主搞研究的发展历程。“工欲善其事,必先利其器。”这句谚语是姚同学接触Python文本处理后最深切的感悟。正因如此,一年后的她在面对师妹们似曾相似的困惑时,才会把《基于Python的语料库数据处理》这本书推荐给师妹阅读。“让学妹少走弯路是件很有成就感的事,不仅是因为她们的进步,更是因为感觉隔空给了当初迷茫的自己一个重要的指引”。对于该书的主要帮助,姚同学总结了以下几点:
·了解Python编程基本数据类型和语法。
通过阅读本书1~6章,学习字符串、数值、列表、元组、字典、条件和循环语句、正则表达式等概念及其如何解决实际问题。
·掌握Python文本处理上的应用。
结合本书7~8章实际案例,举一反三,学习如何直接使用(或稍加改动)书中提供的Python代码,实现分词、词性赋码、词形还原、词块抽取、搭配强度计算、关键词索引行提取(KWIC)、句法分析、文本批量处理等,基本涵盖了现有语料库软件的所有功能!
·加深对语料库技术底层原理的理解。
Antconc、WordSmith等软件对于语料库初学者可能十分便利,轻点几下按键就出结果,但是面对这样一个“黑匣子”,研究者不免会陷入只关注结果而忽略计算过程的误区,“知其然而不知其所以然”,从而难以合理设计实验并解释结果。
·收获编程的乐趣和成就感,发掘自身兴趣和潜能。
正如雷蕾教授开篇所讲,语言学者大多是文科出身,对数学、编程接触不多。阅读本书后,相信每一位读者都会在编程实践中体会到计算机高效处理信息的能力,从而为自身驾驭了这种能力而欢欣鼓舞。对于编程初学者而言,培养编程兴趣、养成编程思维也对日后高效处理各类事项大有帮助。
内容简介
本书以语料库语言学研究实践为导向,介绍Python编程基础知识。第1章为Python语言简介,第2章至第6章由易到难、循序渐进介绍Python语言的基本数据类型和语法。第7章和第8章提供文本处理的个案实例。全书内容涵盖语料库语言学研究中常用的文本处理模式,读者可以通过学习本书掌握语料库语言学研究中的Python编程技巧,以便更深入地进行研究。另外,本书提供大量语料库语言学文本处理所需的Python代码,读者可以直接将这些代码(或将这些代码稍加改动)用于自己的研究中。
本书目录
文科生的编程自白
第1章 引言 1
1.1 Python语言与语料库数据处理 1
1.2 安装Python 3
1.3 Python代码的编写和运行 5
1.4 PyCharm的安装和使用 6
1.5 “Hello world!” 8
1.6 本书结构 10
第2章 数值和字符串 13
2.1 数值 13
2.2 常用数值运算符 14
2.3 常用数值函数 16
2.4 数值计算示例 20
2.5 数值计算练习 24
2.6 字符串 25
2.7 字符串运算 28
2.8 字符串与数值的互换 29
2.9 常用字符串函数 29
2.10 练习 32
第3章 条件与循环 33
3.1 条件判断 33
3.2 while循环 39
3.3 for...in循环 39
3.4 读写单个文本 41
3.5 练习 44
第4章 列表和元组 46
4.1 列表 46
4.2 列表与字符串的相互转换 47
4.3 常用列表函数 49
4.4 列表相关文本处理实例 56
4.5 元组 59
4.6 练习 60
第5章 正则表达式 62
5.1 正则表达式的概念 62
5.2 普通字符 64
5.3 元字符 64
5.4 匹配零个或多个字符 66
5.5 分组 72
5.6 元字符的转义 74
5.7 换行符、回车符、制表符 77
5.8 正则表达式相关实例 77
5.9 练习 89
第6章 字典 90
6.1 字典的概念 90
6.2 常用字典函数 92
6.3 字典排序 95
6.4 字典相关实例 97
6.5 练习 102
第7章 语料库数据处理个案实例 103
7.1 分句和分词 103
7.2 词性赋码 107
7.3 词形还原 111
7.4 抽取词块 112
7.5 计算搭配强度 114
7.6 删除词表中的停用词 119
7.7 语料检索的KWIC实现 120
7.8 句子检索相关个案 122
7.9 实现Range软件功能 123
7.10 读取多个文本文件 133
7.11 多个文本文件批量改名 137
7.12 使用Stanford CoreNLP进行文本处理 139
第8章 语料库Unicode数据处理个案实例 153
8.1 中文分词 153
8.2 中文词性赋码 157
8.3 检索中文文本 160
8.4 英汉双语语料文本的合并与分割 162
附录A Python及命令行文本处理相关参考书籍 167
附录B 宾夕法尼亚大学树库词性赋码集 168
作者简介
雷蕾,上海外国语大学语料库研究院教授,研究兴趣涉及语料库语言学、语言数字人文、学术英语、语言计量研究等。在Cambridge University Press、TESOL Press、科学出版社等出版专著多部。在Applied Linguistics、Language Teaching、International Journal of Corpus Linguistics、System等SSCI期刊发表研究性论文近四十篇、发表书评十余篇,两篇入选ESI高被引论文,另在《现代外语》、《外语教学》、《解放军外国语学院学报》等CSSCI期刊发表论文或书评10余篇。主持完成国家社科基金项目等科研项目多项。Journal of English for Academic Purposes (SSCI)等国内外多本期刊编委。
长按二维码
即刻购买本书
科学出版社